package day13;


// 参数解析
// 以空格作为分隔，引号中的空格要特别注意！
// 统计参数个数：除引号外的空格数+1

import java.util.Scanner;

public class Main3 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        // 统计个数：空格+1，但是注意引号中的空格不算数
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            // 先判断引号
            if(str.charAt(i) == '"') {
                // 注意这里使用的是do...while循环
                do {
                    i++;
                } while (str.charAt(i) != '"');  // 停止++直到遇到下一个引号
            }

            // 然后判断空格（顺序不可以颠倒）
            if(str.charAt(i) == ' ') {
                count++;
            }
        }
        // 输出统计个数
        System.out.println(count+1);

        // 输出每一个参数：使用flag标记引号
        int flag = 1; // 首次遇到引号就变0，再遇到就变1
        for (int i = 0; i < str.length(); i++) {
            // 先判断是否遇到引号
            if(str.charAt(i) == '"') {
                // 使用按位异或，或者按位取反也是ok的
                flag ^= 1;
                // flag = ~flag;
            }

            if (str.charAt(i)!=' ' && str.charAt(i)!='"') {
                // 直接进行输出
                System.out.print(str.charAt(i));
            } else if(str.charAt(i)==' ' && flag==1) {
                // 此时说明是真的空格，需要进行换行
                System.out.println();
            } else if (str.charAt(i)==' ' && flag==0) {
                // 引号中的空格，直接继续输出
                System.out.print(str.charAt(i));
            }
        }
    }
}
